<script lang="ts" setup>
import { onMounted, onUnmounted } from "vue";
import AMapLoader from "@amap/amap-jsapi-loader";

let map

declare global {
    interface Window {
        _AMapSecurityConfig: {
            securityJsCode: string;
        }
    }
}

onMounted(() => {
    window._AMapSecurityConfig = {
        securityJsCode: import.meta.env.VITE_AMAP_JS_CODE, // 替换为你的密钥
    };
    AMapLoader.load({
        key: import.meta.env.VITE_MAP_KEY, // 申请好的Web端开发者Key，首次调用 load 时必填
        version: "2.0", // 指定要加载的 JSAPI 的版本，缺省时默认为 1.4.15
        plugins: ["AMap.Scale"], //需要使用的的插件列表，如比例尺'AMap.Scale'，支持添加多个如：['...','...']
    })
        .then((AMap) => {
            map = new AMap.Map("container", {
                // 设置地图容器id
                viewMode: "3D", // 是否为3D地图模式
                zoom: 11, // 初始化地图级别
                center: [114.90577, 25.885169], // 初始化地图中心点位置
            })
            const marker = new AMap.Marker({
                position: new AMap.LngLat(114.90577, 25.885169), //经纬度对象，也可以是经纬度构成的一维数组[116.39, 39.9]
                title: "汽车位置",
            });
            map.add(marker);
        })
        .catch((e) => {
            console.log(e);
        });
});

onUnmounted(() => {
    map?.destroy();
});

</script>

<template>
    <div id="container"></div>
</template>

<style scoped>
#container {
    padding: 0px;
    margin: 0px;
    width: 100%;
    height: 100%;
}
</style>